n,k = map(int,input().split()); s=input()
l=0; r=0; b=0; t=k
res=0
while r<n :
if s[r] == 'b' : b+=1
if b<=t : res= max(res, r-l+1)
while b>t :
if s[l] == 'b' : b-=1
l+=1
r+=1
l=0; r=0; a=0; t=k
while r<n :
if s[r] == 'a' : a+=1
if a<=t : res= max(res, r-l+1)
while a>t :
if s[l] == 'a' : a-=1
l+=1
r+=1
print(res)
688B - Lovely Palindromes | 66B - Petya and Countryside |
1557B - Moamen and k-subarrays | 540A - Combination Lock |
1553C - Penalty | 1474E - What Is It |
1335B - Construct the String | 1004B - Sonya and Exhibition |
1397A - Juggling Letters | 985C - Liebig's Barrels |
115A - Party | 746B - Decoding |
1424G - Years | 1663A - Who Tested |
1073B - Vasya and Books | 195B - After Training |
455A - Boredom | 1099A - Snowball |
1651D - Nearest Excluded Points | 599A - Patrick and Shopping |
237A - Free Cash | 1615B - And It's Non-Zero |
1619E - MEX and Increments | 34B - Sale |
1436A - Reorder | 1363C - Game On Leaves |
1373C - Pluses and Minuses | 1173B - Nauuo and Chess |
318B - Strings of Power | 1625A - Ancient Civilization |